Shell脚本语法 您所在的位置:网站首页 bash elif Shell脚本语法

Shell脚本语法

#Shell脚本语法| 来源: 网络整理| 查看: 265

Shell脚本语法-- if/then/elif/else/fi 精选 转载

151wqooo 2013-04-08 10:58:59 博主文章分类:Shell

文章标签 shell if else elif 文章分类 运维

Shell脚本语法-- if/then/elif/else/fi  

和C语言类似,在Shell中用if、then、elif、else、fi这几条命令实现分支控制。这种流程控制语句本质上也是由若干条Shell命

  令组成的,例如先前讲过的   if [ -f ~/.bashrc ]; then     . ~/.bashrc fi  其实是三条命令,if [ -f ~/.bashrc ]是第一条,then . ~/.bashrc是第二条,fi是第三条。如果两条命令写在同一行则需要用;   号隔开,一行只写一条命令就不需要写;号了,另外,then后面有换行,但这条命令没写完,Shell会自动续行,把下一行接在then   后面当作一条命令处理。和[命令一样,要注意命令和各参数之间必须用空格隔开。if命令的参数组成一条子命令,如果该子命令   的Exit Status为0(表示真),则执行then后面的子命令,如果Exit Status非0(表示假),则执行elif、else或者fi后面的子命   令。if后面的子命令通常是测试命令,但也可以是其它命令。Shell脚本没有{}括号,所以用fi表示if语句块的结束。见下例:   #! /bin/sh  if [ -f /bin/bash ] then echo "/bin/bash is a file" else echo "/bin/bash is NOT a file" fi      if :; then echo "always true"; fi  :是一个特殊的命令,称为空命令,该命令不做任何事,但Exit Status总是真。此外,也可以执行/bin/true或/bin/false得到真   或假的Exit Status。再看一个例子:   #! /bin/sh  echo "Is it morning? Please answer yes or no." read YES_OR_NO if [ "$YES_OR_NO" = "yes" ]; then   echo "Good morning!" elif [ "$YES_OR_NO" = "no" ]; then   echo "Good afternoon!" else   echo "Sorry, $YES_OR_NO not recognized. Enter yes or no."   exit 1 fi exit 0  上例中的read命令的作用是等待用户输入一行字符串,将该字符串存到一个Shell变量中。 此外,Shell还提供了&&和||语法,和C语言类似,具有Short-circuit特性,很多Shell脚本喜欢写成这样: test "$(whoami)" != 'root' && (echo you are using a non-privileged account; exit 1) &&相当于“if...then...”,而||相当于“if not...then...”。&&和||用于连接两个命令,而上面讲的-a和-o仅用于在测试表达   式中连接两个测试条件,要注意它们的区别,例如, test "$VAR" -gt 1 -a "$VAR" -lt 3 和以下写法是等价的 test "$VAR" -gt 1 && test "$VAR" -lt 3     #!/bin/bash echo "Enter your name: "  read A if [ "$A" = "GS" ];then         echo "yes" elif [ "$A" = "UC" ];then         echo "no" else         echo  "your are wrong" fi  (注意:if、elif后要有空格,[]前后有空格,=前后有空格)   #!/bin/bash read -p  "Enter your name: " A if [ "$A" = "GS" ];then         echo "yes" elif [ "$A" = "UC" ];then         echo "no" else         echo  "your are wrong" fi    打赏 收藏 评论 分享 举报

上一篇:shell——read详解

下一篇:shell中&&和||的使用方法



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有